package com.coin900.coin.persist.coin;

import com.coin900.coin.persist.FuVO;

import java.util.Date;

/**
 * 项目订单
 *
 * @author shui
 * @create 2018-1-17
 */
public class CoinOrderVO extends FuVO {

    /**
     * 用户 id
     */
    private Long userId;

    /**
     * 订单类型：项目正式发售 1 预售2
     */
    private Integer type;

    /**
     * 订单编号
     */
    private String orderNo;

    /**
     * 项目 id
     */
    private Long projectId;

    /**
     * 币种 id
     */
    private Long coinId;

    /**
     * 支付虚拟币数量
     */
    private Double coinNumber;

    /**
     * 购买代币数量
     */
    private Double tokenNumber;

    /**
     * 订单状态 0未支付 1已支付 2退款 3取消
     */
    private Integer orderStatus;

    /**
     * 支付时间
     */
    private Date payDate;

    /***** 非持久化 START *****/

    /**
     * 邮件
     */
    private String email;

    /**
     * 项目名
     */
    private String projectName;

    /**
     * 用于支付虚拟币名称
     */
    private String coinName;

    /**
     * 代币简称
     */
    private String tokenName;

    /**
     * 订单状态名称
     */
    private String orderStatusName;

    /***** 非持久化 END *****/


    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public Long getCoinId() {
        return coinId;
    }

    public void setCoinId(Long coinId) {
        this.coinId = coinId;
    }

    public Double getCoinNumber() {
        return coinNumber;
    }

    public void setCoinNumber(Double coinNumber) {
        this.coinNumber = coinNumber;
    }

    public Double getTokenNumber() {
        return tokenNumber;
    }

    public void setTokenNumber(Double tokenNumber) {
        this.tokenNumber = tokenNumber;
    }

    public Integer getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(Integer orderStatus) {
        this.orderStatus = orderStatus;
    }

    public Date getPayDate() {
        return payDate;
    }

    public void setPayDate(Date payDate) {
        this.payDate = payDate;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getCoinName() {
        return coinName;
    }

    public void setCoinName(String coinName) {
        this.coinName = coinName;
    }

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getOrderStatusName() {
        return orderStatusName;
    }

    public void setOrderStatusName(String orderStatusName) {
        this.orderStatusName = orderStatusName;
    }

    public String getTokenName() {
        return tokenName;
    }

    public void setTokenName(String tokenName) {
        this.tokenName = tokenName;
    }

    @Override
    public String toString() {
        return super.toString() +"CoinOrderVO{" +
                "userId=" + userId +
                ", projectId=" + projectId +
                ", coinId=" + coinId +
                ", coinNumber=" + coinNumber +
                ", tokenNumber=" + tokenNumber +
                ", orderStatus=" + orderStatus +
                ", payDate=" + payDate +
                ", email='" + email + '\'' +
                ", projectName='" + projectName + '\'' +
                ", coinName='" + coinName + '\'' +
                ", orderNo='" + orderNo + '\'' +
                ", type='" + type + '\'' +
                ", orderStatusName='" + orderStatusName + '\'' +
                ", tokenName='" + tokenName + '\'' +
                '}';
    }
}
